package com.woniu.service.impl;

import com.woniu.entity.Bed;
import com.woniu.entity.InpatientRecord;
import com.woniu.mapper.BedMapper;
import com.woniu.mapper.InpatientRecordMapper;
import com.woniu.service.InpatientRecordService;
import com.woniu.utils.ResponseEnum;
import com.woniu.utils.ResponseUtil;
import com.woniu.vo.InpatientRecordVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

@Service
@Transactional
public class InpatientRecordServiceImpl implements InpatientRecordService {
    @Resource
    private InpatientRecordMapper inpatientRecordMapper;
    @Resource
    private BedMapper bedMapper;
    @Override
    public ResponseUtil addRecord(InpatientRecord inpatientRecord) {
        //添加住院表信息
        Integer result = inpatientRecordMapper
                .insertSelective(inpatientRecord);
        //修改病床信息，改为被占用
        Bed bed = new Bed();
        bed.setId(inpatientRecord.getHzBedId());
        bed.setStatus(1);
        Integer bedResult = bedMapper.updateByPrimaryKeySelective(bed);
        return result > 0 && bedResult > 0 ?
                ResponseUtil.get(ResponseEnum.OK,inpatientRecord)
                : ResponseUtil.get(ResponseEnum.FAIL);
    }
    //显示病人 病床 科室 病房 医生 入住时间 筛选数据库中的状态为住院中的数据
    @Override
    public ResponseUtil recordList() {
        List<InpatientRecordVO> list = inpatientRecordMapper
                .queryByStatus(0);
        return list.size() > 0 ?
                ResponseUtil.get(ResponseEnum.OK,list)
                : ResponseUtil.get(ResponseEnum.FAIL);
    }

}
